package com.ht.callback.util;

import java.util.HashMap;
import java.util.Map;

/**
 * 函数工具类
 * @author asq
 * @createTime 2024年12月19日 11:03:27
 */
public class FunctionUtil {
	/** 存放所有函数实现类的容器 */
	private static Map<String, Object> map = new HashMap<>();
	
	/**
	 * 存入一个函数
	 * @param key 函数名称（唯一）
	 * @param function 函数实现类
	 */
	public static void setFunction(String key, Object function) {
		map.put(key, function);
	}
	
	/**
	 * 根据名称获取一个函数
	 * @param key 名称
	 */
	@SuppressWarnings("unchecked")
	public static <T> T getFunction(String key) {
		return (T)map.get(key);
	}
}
